抱歉,您的浏览器无法访问本站
本页面需要浏览器支持(启用)JavaScript
了解详情 >

Act Runner 是一个 Gitea 运行器,通过自行部署,可以实现类似于 GitHub Actions 的运行器,且可以兼容 GitHub Actions 配置文件,目前杜老师说站点就是基于 Gitea 托管与自动部署。

工具简介

Gitea Actions 是一个类似 GitHub Actions 的自动化工作流工具,可以帮助开发者在代码仓库中实现各种自动化任务。Runner 则是负责执行这些工作流任务的代理端。

在实际应用中,使用 Docker 部署 Gitea Actions 的 Runner 具有诸多优势。

首先,Docker 提供一致的运行环境,消除了因系统配置差异而导致的潜在问题。

其次,它简化了部署过程,使得安装、配置更加便捷高效。

获取密钥

登录到 Gitea 实例,转到存储仓库页面,点击页面上方设置,在左侧菜单选择 Actions,将在页面上看到 Runners 部分,后点击创建 Runner 按钮,将获得一个 REGISTRATION TOKEN,复制它并妥善保存:

准备工作

在完成准备工作后,可通过以下步骤创建 Docker 容器并配置 Runner。使用下面命令拉取所需的 Gitea Actions Runner 镜像:

1
docker pull gitea/act_runner:nightly

使用下面命令生成默认配置文件:

1
docker run --entrypoint="" --rm -it gitea/act_runner:latest act_runner generate-config > config.yaml

将下面内容保存到 docker-compose.yml 文件中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
version: "3.8"
services:
runner:
image: gitea/act_runner:nightly
environment:
CONFIG_FILE: /config.yaml
GITEA_INSTANCE_URL: "${INSTANCE_URL}"
GITEA_RUNNER_REGISTRATION_TOKEN: "${REGISTRATION_TOKEN}"
GITEA_RUNNER_NAME: "${RUNNER_NAME}"
GITEA_RUNNER_LABELS: "${RUNNER_LABELS}"
volumes:
- ./config.yaml:/config.yaml
- ./data:/data
- /var/run/docker.sock:/var/run/docker.sock

根据需求,修改 docker-compose.yml 文件中参数。${INSTANCE_URL}替换为实例的 URL,${REGISTRATION_TOKEN}替换为前面获得的 REGISTRATION TOKEN,${RUNNER_NAME}替换为 Runner 的名称,${RUNNER_LABELS}替换为 Runner 的标签「本机部署建议设置为 self-hosted」然后使用下面命令启动工具:

1
docker-compose up -d

配置文件

下面是个简单实例,可将内容保存为 .gitea/workflows/demo.yaml,生效后即可在 Actions 页面中看到运行结果:

1
2
3
4
5
6
7
name: Gitea Actions Demo
on: [push]
jobs:
Explore-Gitea-Actions:
runs-on: self-hosted
steps:
- run: echo dusays.com

杜老师首次运行时,提示缓存配置错误,将下面内容保存到 config.yaml 文件中即可:

1
2
3
4
cache:
enabled: false
host:
workdir_parent: /

评论